/**
 * 
 */
package src.model.gameObject.ability;

import src.model.gameObject.GameObject;

/**
 * <b>Overview</b><br>
 * <p>A GameObject with this ability cannot be detected by players through normal viewing. It must be detected
 * through some other means.<br>
 * NOTE: This is not a good implementation of this. A better way would possibly be to have invisible things taken off
 * the map when it is not their turn. That way, they would never be detected through normal scans. They would, however
 * respond to special detection events, which would then allow the player to add it's information to it's PlayerMap,
 * but still not be on the ActualMap. This way, invisible things would never even be asked if they are visible or to
 * display themselves in normal scans, and when they are found once, the information would not be persistent, i.e.
 * when they move, you have to detect them again.</p>
 * <br><br>
 * <b>Responsibilites</b><br>
 * <p>Mark a GameObject as undetectable.</p>
 * <br><br>
 * <b>Collaborators</b>
 * <br>
 * none<br><br>
 * <b>Implementor</b> - Tristan Lohman<br>
 * <b>Tester</b> - Bruce<br>
 * 
 * @author Tristan
 *
 */
public class Invisible extends Ability {

	/**
	 * Constructs a new Invisible ability
	 * @param go The GameObject that owns this, which is now invisible.
	 */
	public Invisible(GameObject go) {
		super(go, AbilityType.INVISIBLE, null);
		// TODO Auto-generated constructor stub
	}

	public void destroySub(){
		// TODO: IMPLEMENT!!!!
	}
}
